package com.yonyou.brigade.rtpnr.model;

import lombok.Data;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import java.util.Date;

@XmlRootElement(name = "CheckApprove_1_0")
public class CheckApprove {
    private String orderNo;//单号                                             必填
    private String projectNo;//项目编号                                        必填
    private String isDomc;//国内=D，国际=I                                     必填
    private String type;//订单类型，机票=F，酒店=H，火车票=T，签证=Q，租车=Z       必填
    private Date createTime;//创建时间                                         必填
    private Double paymentPrice;//订单总额                                     必填
    private String tripType;//行程类型，单程=OW，往返=RT
    private Trip[] tripInfo;//行程信息
    private Passenger[] passengers;//出行人信息
    private String contactName;//联系人姓名                                      必填
    private String contantMobile;//联系电话                                     必填
    private String createUserCode;//联系人员工编号                                必填

    @XmlElement(name = "OrderNo")
    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    @XmlElement(name = "ProjectNo")
    public String getProjectNo() {
        return projectNo;
    }

    public void setProjectNo(String projectNo) {
        this.projectNo = projectNo;
    }

    @XmlElement(name = "IsDomc")
    public String getIsDomc() {
        return isDomc;
    }

    public void setIsDomc(String isDomc) {
        this.isDomc = isDomc;
    }

    @XmlElement(name = "Type")
    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    @XmlElement(name = "CreateTime")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @XmlElement(name = "PaymentPrice")
    public Double getPaymentPrice() {
        return paymentPrice;
    }

    public void setPaymentPrice(Double paymentPrice) {
        this.paymentPrice = paymentPrice;
    }

    @XmlElement(name = "TripType")
    public String getTripType() {
        return tripType;
    }

    public void setTripType(String tripType) {
        this.tripType = tripType;
    }

    @XmlElement(name = "TripInfo")
    public Trip[] getTripInfo() {
        return tripInfo;
    }

    public void setTripInfo(Trip[] tripInfo) {
        this.tripInfo = tripInfo;
    }

    @XmlElement(name = "Passengers")
    public Passenger[] getPassengers() {
        return passengers;
    }

    public void setPassengers(Passenger[] passengers) {
        this.passengers = passengers;
    }

    @XmlElement(name = "ContactName")
    public String getContactName() {
        return contactName;
    }

    public void setContactName(String contactName) {
        this.contactName = contactName;
    }

    @XmlElement(name = "ContantMobile")
    public String getContantMobile() {
        return contantMobile;
    }

    public void setContantMobile(String contantMobile) {
        this.contantMobile = contantMobile;
    }

    @XmlElement(name = "CreateUserCode")
    public String getCreateUserCode() {
        return createUserCode;
    }

    public void setCreateUserCode(String createUserCode) {
        this.createUserCode = createUserCode;
    }

    @XmlType
    public static class Trip{
        private String fromCode;//出发地代码
        private String fromName;//出发地名称
        private String arriveCode;//目的地代码
        private String arriveName;//目的地名称
        private Date fromDate;//出发日期
        private Date fromTime;//出发时间
        private String hotelName;//酒店名称
        private String hotelLevel;//酒店星级
        private String roomName;//房型名称
        private Date checkOutDate;//酒店离店日期
        private String cabinLevel;//仓位级别
        private String cabinCode;//仓位代码

        @XmlElement(name = "FromCode")
        public String getFromCode() {
            return fromCode;
        }

        public void setFromCode(String fromCode) {
            this.fromCode = fromCode;
        }

        @XmlElement(name = "FromName")
        public String getFromName() {
            return fromName;
        }

        public void setFromName(String fromName) {
            this.fromName = fromName;
        }

        @XmlElement(name = "ArriveCode")
        public String getArriveCode() {
            return arriveCode;
        }

        public void setArriveCode(String arriveCode) {
            this.arriveCode = arriveCode;
        }

        @XmlElement(name = "ArriveName")
        public String getArriveName() {
            return arriveName;
        }

        public void setArriveName(String arriveName) {
            this.arriveName = arriveName;
        }

        @XmlElement(name = "FromDate")
        public Date getFromDate() {
            return fromDate;
        }

        public void setFromDate(Date fromDate) {
            this.fromDate = fromDate;
        }

        @XmlElement(name = "FromTime")
        public Date getFromTime() {
            return fromTime;
        }

        public void setFromTime(Date fromTime) {
            this.fromTime = fromTime;
        }

        @XmlElement(name = "HotelName")
        public String getHotelName() {
            return hotelName;
        }

        public void setHotelName(String hotelName) {
            this.hotelName = hotelName;
        }

        @XmlElement(name = "HotelLevel")
        public String getHotelLevel() {
            return hotelLevel;
        }

        public void setHotelLevel(String hotelLevel) {
            this.hotelLevel = hotelLevel;
        }

        @XmlElement(name = "RoomName")
        public String getRoomName() {
            return roomName;
        }

        public void setRoomName(String roomName) {
            this.roomName = roomName;
        }

        @XmlElement(name = "CheckOutDate")
        public Date getCheckOutDate() {
            return checkOutDate;
        }

        public void setCheckOutDate(Date checkOutDate) {
            this.checkOutDate = checkOutDate;
        }

        @XmlElement(name = "CabinLevel")
        public String getCabinLevel() {
            return cabinLevel;
        }

        public void setCabinLevel(String cabinLevel) {
            this.cabinLevel = cabinLevel;
        }

        @XmlElement(name = "CabinCode")
        public String getCabinCode() {
            return cabinCode;
        }

        public void setCabinCode(String cabinCode) {
            this.cabinCode = cabinCode;
        }
    }

    @XmlType
    public static class Passenger{
        private String psgName;//姓名                     必填
        private String cardType;//证件类型
        private String cardNo;//证件号码
        private String costCenter;//成本中心名称
        private String department;//部门名称
        private String fromTime;//出发时间 13：50
        private String OAUserCode;//员工编号               必填

        @XmlElement(name = "PsgName")
        public String getPsgName() {
            return psgName;
        }

        public void setPsgName(String psgName) {
            this.psgName = psgName;
        }

        @XmlElement(name = "CardType")
        public String getCardType() {
            return cardType;
        }

        public void setCardType(String cardType) {
            this.cardType = cardType;
        }

        @XmlElement(name = "CardNo")
        public String getCardNo() {
            return cardNo;
        }

        public void setCardNo(String cardNo) {
            this.cardNo = cardNo;
        }

        @XmlElement(name = "CostCenter")
        public String getCostCenter() {
            return costCenter;
        }

        public void setCostCenter(String costCenter) {
            this.costCenter = costCenter;
        }

        @XmlElement(name = "Department")
        public String getDepartment() {
            return department;
        }

        public void setDepartment(String department) {
            this.department = department;
        }

        @XmlElement(name = "FromTime")
        public String getFromTime() {
            return fromTime;
        }

        public void setFromTime(String fromTime) {
            this.fromTime = fromTime;
        }

        @XmlElement(name = "OAUserCode")
        public String getOAUserCode() {
            return OAUserCode;
        }

        public void setOAUserCode(String OAUserCode) {
            this.OAUserCode = OAUserCode;
        }
    }
}
